home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat5 / siginfo.z / siginfo
Encoding:
Text File  |  1998-10-20  |  12.6 KB  |  196 lines

  1.  
  2.  
  3.  
  4. ssssiiiiggggiiiinnnnffffoooo((((5555))))                                                          ssssiiiiggggiiiinnnnffffoooo((((5555))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _ssss_iiii_gggg_iiii_nnnn_ffff_oooo - signal generation information
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_iiii_gggg_iiii_nnnn_ffff_oooo_...._hhhh_>>>>
  13.  
  14. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.      If a process is catching a signal, it may request information that tells
  16.      why the system generated that signal (see _ssss_iiii_gggg_aaaa_cccc_tttt_iiii_oooo_nnnn(2)).  If a process is
  17.      monitoring its children, it may receive information that tells why a
  18.      child changed state (see _wwww_aaaa_iiii_tttt_iiii_dddd(2)).  In either case, the system returns
  19.      the information in a structure of type _ssss_iiii_gggg_iiii_nnnn_ffff_oooo______tttt, which includes the
  20.      following information:
  21.  
  22.      int si_signo    /* signal number */
  23.      int si_errno    /* error number */
  24.      int si_code     /* signal code */
  25.  
  26.      _ssss_iiii______ssss_iiii_gggg_nnnn_oooo contains the system-generated signal number.  (For the _wwww_aaaa_iiii_tttt_iiii_dddd(2)
  27.      function, _ssss_iiii______ssss_iiii_gggg_nnnn_oooo is always _SSSS_IIII_GGGG_CCCC_HHHH_LLLL_DDDD.)
  28.  
  29.      If _ssss_iiii______eeee_rrrr_rrrr_nnnn_oooo is non-zero, it contains an error number associated with this
  30.      signal, as defined in _eeee_rrrr_rrrr_nnnn_oooo_...._hhhh.
  31.  
  32.      _ssss_iiii______cccc_oooo_dddd_eeee contains a code identifying the cause of the signal.  If the
  33.      value of _ssss_iiii______cccc_oooo_dddd_eeee is less than or equal to 0, then the signal was
  34.      generated either by a user process or on behalf of a user initiated
  35.      service.  In this case _ssss_iiii______cccc_oooo_dddd_eeee defines which service initiated the
  36.      request and determines what (if any) additional information is included
  37.      in the _ssss_iiii_gggg_iiii_nnnn_ffff_oooo structure.  The following are the possible user initiated
  38.      _ssss_iiii______cccc_oooo_dddd_eeee values:
  39.  
  40.      _SSSS_IIII______UUUU_SSSS_EEEE_RRRR     The signal was generated via _kkkk_iiii_llll_llll(2) or _ssss_iiii_gggg_ssss_eeee_nnnn_dddd(2).  The
  41.                  _ssss_iiii_gggg_iiii_nnnn_ffff_oooo structure contains the following additional
  42.                  information:
  43.  
  44.  
  45.                  pid_t si_pid   /* sending process ID */
  46.                  uid_t si_uid   /* sending user ID */
  47.  
  48.      _SSSS_IIII______QQQQ_UUUU_EEEE_UUUU_EEEE    The signal was generated via _ssss_iiii_gggg_qqqq_uuuu_eeee_uuuu_eeee(3).  The _ssss_iiii_gggg_iiii_nnnn_ffff_oooo
  49.                  structure contains the following additional information:
  50.  
  51.  
  52.                  pid_t si_pid   /* sending process ID */
  53.                  uid_t si_uid   /* sending user ID */
  54.                  union sigval si_value; /* value sent via sigqueue */
  55.  
  56.      Otherwise, _ssss_iiii______cccc_oooo_dddd_eeee contains a signal-specific reason why the signal was
  57.      generated, as follows:
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ssssiiiiggggiiiinnnnffffoooo((((5555))))                                                          ssssiiiiggggiiiinnnnffffoooo((((5555))))
  71.  
  72.  
  73.  
  74.      Signal    Code            Reason
  75.      _______________________________________________________________
  76.      _SSSS_IIII_GGGG_IIII_LLLL_LLLL    _IIII_LLLL_LLLL______IIII_LLLL_LLLL_OOOO_PPPP_CCCC      illegal opcode
  77.                _IIII_LLLL_LLLL______IIII_LLLL_LLLL_OOOO_PPPP_NNNN      illegal operand
  78.                _IIII_LLLL_LLLL______IIII_LLLL_LLLL_AAAA_DDDD_RRRR      illegal addressing mode
  79.                _IIII_LLLL_LLLL______IIII_LLLL_LLLL_TTTT_RRRR_PPPP      illegal trap
  80.                _IIII_LLLL_LLLL______PPPP_RRRR_VVVV_OOOO_PPPP_CCCC      privileged opcode
  81.                _IIII_LLLL_LLLL______PPPP_RRRR_VVVV_RRRR_EEEE_GGGG      privileged register
  82.                _IIII_LLLL_LLLL______CCCC_OOOO_PPPP_RRRR_OOOO_CCCC      coprocessor error
  83.                _IIII_LLLL_LLLL______BBBB_AAAA_DDDD_SSSS_TTTT_KKKK      internal stack error
  84.      _______________________________________________________________
  85.      _SSSS_IIII_GGGG_FFFF_PPPP_EEEE    _FFFF_PPPP_EEEE______IIII_NNNN_TTTT_DDDD_IIII_VVVV      integer divide by zero
  86.                _FFFF_PPPP_EEEE______IIII_NNNN_TTTT_OOOO_VVVV_FFFF      integer overflow
  87.                _FFFF_PPPP_EEEE______FFFF_LLLL_TTTT_DDDD_IIII_VVVV      floating point divide by zero
  88.                _FFFF_PPPP_EEEE______FFFF_LLLL_TTTT_OOOO_VVVV_FFFF      floating point overflow
  89.                _FFFF_PPPP_EEEE______FFFF_LLLL_TTTT_UUUU_NNNN_DDDD      floating point underflow
  90.                _FFFF_PPPP_EEEE______FFFF_LLLL_TTTT_RRRR_EEEE_SSSS      floating point inexact result
  91.                _FFFF_PPPP_EEEE______FFFF_LLLL_TTTT_IIII_NNNN_VVVV      invalid floating point operation
  92.                _FFFF_PPPP_EEEE______FFFF_LLLL_TTTT_SSSS_UUUU_BBBB      subscript out of range
  93.      _SSSS_IIII_GGGG_SSSS_EEEE_GGGG_VVVV   _SSSS_EEEE_GGGG_VVVV______MMMM_AAAA_PPPP_EEEE_RRRR_RRRR     address not mapped to object
  94.                _SSSS_EEEE_GGGG_VVVV______AAAA_CCCC_CCCC_EEEE_RRRR_RRRR     invalid permissions for mapped object
  95.      _______________________________________________________________
  96.      _SSSS_IIII_GGGG_BBBB_UUUU_SSSS    _BBBB_UUUU_SSSS______AAAA_DDDD_RRRR_AAAA_LLLL_NNNN      invalid address alignment
  97.                _BBBB_UUUU_SSSS______AAAA_DDDD_RRRR_EEEE_RRRR_RRRR      non-existent physical address
  98.                _BBBB_UUUU_SSSS______OOOO_BBBB_JJJJ_EEEE_RRRR_RRRR      object specific hardware error
  99.      _______________________________________________________________
  100.      _SSSS_IIII_GGGG_TTTT_RRRR_AAAA_PPPP   _TTTT_RRRR_AAAA_PPPP______BBBB_RRRR_KKKK_PPPP_TTTT      process breakpoint
  101.                _TTTT_RRRR_AAAA_PPPP______TTTT_RRRR_AAAA_CCCC_EEEE      process trace trap
  102.      _______________________________________________________________
  103.      _SSSS_IIII_GGGG_CCCC_HHHH_LLLL_DDDD   _CCCC_LLLL_DDDD______EEEE_XXXX_IIII_TTTT_EEEE_DDDD      child has exited
  104.                _CCCC_LLLL_DDDD______KKKK_IIII_LLLL_LLLL_EEEE_DDDD      child was killed
  105.                _CCCC_LLLL_DDDD______DDDD_UUUU_MMMM_PPPP_EEEE_DDDD      child terminated abnormally
  106.                _CCCC_LLLL_DDDD______TTTT_RRRR_AAAA_PPPP_PPPP_EEEE_DDDD     traced child has trapped
  107.                _CCCC_LLLL_DDDD______SSSS_TTTT_OOOO_PPPP_PPPP_EEEE_DDDD     child has stopped
  108.                _CCCC_LLLL_DDDD______CCCC_OOOO_NNNN_TTTT_IIII_NNNN_UUUU_EEEE_DDDD   stopped child had continued
  109.      _______________________________________________________________
  110.      _SSSS_IIII_GGGG_PPPP_OOOO_LLLL_LLLL   _PPPP_OOOO_LLLL_LLLL______IIII_NNNN         data input available
  111.                _PPPP_OOOO_LLLL_LLLL______OOOO_UUUU_TTTT        output buffers available
  112.                _PPPP_OOOO_LLLL_LLLL______MMMM_SSSS_GGGG        input message available
  113.                _PPPP_OOOO_LLLL_LLLL______EEEE_RRRR_RRRR        I/O error
  114.                _PPPP_OOOO_LLLL_LLLL______PPPP_RRRR_IIII        high priority input available
  115.                _PPPP_OOOO_LLLL_LLLL______HHHH_UUUU_PPPP        device disconnected
  116.  
  117.      In addition, the following signal-dependent information is available for
  118.      kernel-generated signals:
  119.  
  120.      Signal         Field                       Value
  121.  
  122.  
  123.  
  124.  
  125.  
  126.                                                                         PPPPaaaaggggeeee 2222
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133. ssssiiiiggggiiiinnnnffffoooo((((5555))))                                                          ssssiiiiggggiiiinnnnffffoooo((((5555))))
  134.  
  135.  
  136.  
  137.     _________________________________________________________________
  138.      _SSSS_IIII_GGGG_IIII_LLLL_LLLL    _cccc_aaaa_dddd_dddd_rrrr______tttt _ssss_iiii______aaaa_dddd_dddd_rrrr   address of faulting instruction
  139.      _SSSS_IIII_GGGG_FFFF_PPPP_EEEE
  140.      ________________________________________________________________
  141.      _SSSS_IIII_GGGG_SSSS_EEEE_GGGG_VVVV   _cccc_aaaa_dddd_dddd_rrrr______tttt _ssss_iiii______aaaa_dddd_dddd_rrrr   address of faulting memory reference
  142.      _SSSS_IIII_GGGG_BBBB_UUUU_SSSS
  143.      ________________________________________________________________
  144.      _SSSS_IIII_GGGG_CCCC_HHHH_LLLL_DDDD   _pppp_iiii_dddd______tttt _ssss_iiii______pppp_iiii_dddd      child process ID
  145.                _iiii_nnnn_tttt _ssss_iiii______ssss_tttt_aaaa_tttt_uuuu_ssss     exit value or signal
  146.      ________________________________________________________________
  147.      _SSSS_IIII_GGGG_PPPP_OOOO_LLLL_LLLL   _llll_oooo_nnnn_gggg _ssss_iiii______bbbb_aaaa_nnnn_dddd      band event for _PPPP_OOOO_LLLL_LLLL______IIII_NNNN, _PPPP_OOOO_LLLL_LLLL______OOOO_UUUU_TTTT, or
  148.                                  _PPPP_OOOO_LLLL_LLLL______MMMM_SSSS_GGGG
  149.  
  150. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  151.      kill(2), sigaction(2), sigqueue(2), sigsend(2), waitid(2), signal(5)
  152.  
  153. NNNNOOOOTTTTEEEESSSS
  154.      For _SSSS_IIII_GGGG_CCCC_HHHH_LLLL_DDDD signals, if _ssss_iiii______cccc_oooo_dddd_eeee is equal to _CCCC_LLLL_DDDD______EEEE_XXXX_IIII_TTTT_EEEE_DDDD, then _ssss_iiii______ssss_tttt_aaaa_tttt_uuuu_ssss is
  155.      equal to the exit value of the process; otherwise, it is equal to the
  156.      signal that caused the process to change state.  For some
  157.      implementations, the exact value of _ssss_iiii______aaaa_dddd_dddd_rrrr may not be available; in that
  158.      case, _ssss_iiii______aaaa_dddd_dddd_rrrr is guaranteed to be on the same page as the faulting
  159.      instruction or memory reference.
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.                                                                         PPPPaaaaggggeeee 3333
  193.  
  194.  
  195.  
  196.